home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 5 / The 640 Meg Shareware Studio CD-ROM Volume V (Data Express)(1994).ISO / amiga / tdemo2.lha / ProgrammersInfo / Headers.h < prev    next >
C/C++ Source or Header  |  1994-06-05  |  27KB  |  924 lines

  1. //**********************
  2. //*****  Includes  *****
  3. //**********************
  4.  
  5. #include "exec/types.h"
  6.  
  7. //*************************
  8. //*************************
  9. //*************************
  10. //*****  Struct User  *****  FiLE: Accounts.Data
  11. //*************************
  12. //*************************
  13. //*************************
  14.  
  15. struct User
  16. {
  17.  UWORD   Slot_Number;            // Account#
  18.  UBYTE   Status;                 // 0=Deleted, 1=Active, 2=New User, 3=Locked Out
  19.  
  20.  TEXT    Name[31],               // Users Name
  21.          RealName[26],           // Real Name
  22.          VoicePhone[21],         // Voice Phone Number
  23.          DataPhone[21],          // Data  Phone Number
  24.          Address[26],            // Address
  25.          City[26],               // City
  26.          State[4],               // State/Providence Code
  27.          Country[4],             // Country Code
  28.          MailRoute[15],          // Zip Code / Mail Route
  29.          ComputerType[21],       // Computer Type (Possible Code Instead)
  30.          Password[16],           // Password
  31.          Comment[31];            // Comment String
  32.  
  33.  UBYTE   Security;               // Access Level
  34.  UWORD   WeedDays,               // Days of inactivity until bbs auto deletes
  35.          ReduceDays;             // Days Paid for by a payer.
  36.  UBYTE   ReducedAccess;          // Preset level to give to user after reduced days
  37.  
  38.  UBYTE   AnsiType,               // Ansi Type (Ascii, Amiga Ansi, IBM Ansi, VT100, RIP)
  39.          U_Proto,                // Protocal Selected:UBYTE= 0-255 value
  40.          D_Proto,                // download protocal
  41.          HelpLevel,              // Level of Help
  42.          MSGHeader,              // Msg Header Type
  43.          EditorLines,            // Max Lines allowed in Editor
  44.          DescLines,              // File Listing lines, Descriptions
  45.          ViewMode,               // File Listing View Mode
  46.          WhoPrefs,               // Who Preferences
  47.          MB_J,                   // Message Rejoin
  48.          FB_J,                   // File rejoin
  49.          Length,                 // Length of screen
  50.          Width,                  // Width of screen
  51.          Language,
  52.          Translation,
  53.          TimeZone,               // Time Zone Offset
  54.          BirthDate_Day,          // DAY of birth
  55.          BirthDate_Month,        // MONTH of birth
  56.          BirthDate_Year,         // YEAR of birth
  57.          IdleTime,               // Idle time allowed for no activity
  58.          NodeLastOn;             // Last node user was on
  59.  
  60.  UWORD   ForwardMailSlot,        // Slot Number of user to forward mail to!
  61.          PWF;                    // Number of Password Failures
  62.  
  63.  UWORD   Total_Calls,            // # of Calls Total
  64.          Total_Posts,            // Msgs left total
  65.          Total_PostsReceived,    // Msgs Received
  66.          Total_ULFiles,          // # of Uploads
  67.          Total_DLFiles,          // # of Downloads
  68.          Total_TimeBank;         // Time Bank Value
  69.  ULONG   Total_ULBytes,          // Total Uploaded Bytes
  70.          Total_DLBytes;          // Total Downloaded Bytes
  71.  
  72.  UWORD   Limit_Calls,            // Calls ALLOWED per Day
  73.          Limit_Posts,            // Messages Allowed p/d
  74.          Limit_ULFiles,          // # of Uploads Per Period
  75.          Limit_DLFiles,          // # of Downloads Per Period
  76.          Limit_Time,             // Time Limit per day.
  77.          Limit_TimeBank,
  78.          Limit_ChatTime;         // Limit of Time user can be in chat door
  79.  ULONG   Limit_ULBytes,          // Limit Upload Bytes Per Period
  80.          Limit_DLBytes;          // Limit Download Bytes Per Period
  81.  UBYTE   F_Ratio,                // File Ratio
  82.          B_Ratio;                // Byte Ratio
  83.  
  84.  UBYTE   Period_Type;            // Mins, Hours, Days, Weeks, Months, Years
  85.  UWORD   Period_Length,          // 24 hours or whatever! Set Limits by Period
  86.          Period_Calls,           // Calls made  Today
  87.          Period_Posts,           // Todays Msgs Sent
  88.          Period_ULFiles,         // Todays Ul's
  89.          Period_DLFiles,         // Todays Dl's
  90.          Period_ChatTime;        // Time user has been in chat this period
  91.  ULONG   Period_ULBytes,         // Period Bytes Uploaded
  92.          Period_DLBytes;         // Period Bytes Downloaded
  93.  
  94.  UWORD   Left_DLFiles,           // Files left available for download
  95.          Left_ChatTime,          // Limit of Time user can be in chat door
  96.          Left_Time;              // Time Left
  97.  ULONG   Left_DLBytes;           // Bytes left for this period
  98.  
  99.  UWORD   DayCredits,             // For Payers
  100.          FileCredits;            // Files Paid for by a payer.
  101.  ULONG   ByteCredits,            // Bytes Paid for by a payer.
  102.          PersonalBytes,          // Personal Area Bytes Limit
  103.          LastBaudRate;           // Last Baud Rate of a user.
  104.  
  105.  LONG    Time_First_Called,      // Time First Logged On
  106.          Time_Last_Logoff,       // Last Time LOGGED OFF
  107.          Time_Last_Connect;      // Time last CONNECTED
  108.  
  109. LONGBITS UserBitsA,              //
  110.          UserBitsB,              //
  111.          UtilBits,               // 32 bits for Programmers to use as they wish for utils.
  112.          LastCallFlags,          // Flags for activities during last call. Posted,UL,DL,etc
  113.          CatFlags,               // Flags for Custom File Listing
  114.          NFlags1,                // Normal Flags Part 1
  115.          NFlags2,                // Normal Flags Part 2
  116.          SFlags1,                // Sysop  Flags Part 1
  117.          SFlags2;                // Sysop  Flags Part 2
  118.  
  119.  char    MsgBase[41],            // MB 0-39 Flags N,Y,S   // Change to 2 LONGBITS
  120.          FileBase[41];           // FB 0-39 Flags N,Y,S   // one for normal, one for sysop
  121.  
  122.  UWORD   Last_Read_Message[40],  // -position change- Last read pointer
  123.          Last_Scan_Message[40];
  124.  
  125.  BYTE    BExtras[30];
  126.  
  127.  UWORD   CheckSum,
  128.          SerialNumber;           // Unique seiral number for flagged files, etc.
  129.  
  130.  SHORT   SExtras[3];
  131.  LONG    LExtras[3];
  132. };
  133.  
  134. struct Csum
  135. {
  136.  UWORD Csum;
  137. };
  138.  
  139. //*******************************
  140. //*******************************
  141. //*******************************
  142. //*****  Struct SystemData  ***** FiLE: SystemData.Data - (GLOBAL SETTINGS!)
  143. //*******************************
  144. //*******************************
  145. //*******************************
  146.  
  147. struct SystemData
  148. {
  149.        // System Names / Locations
  150.  
  151.  TEXT  Name[31],                  // Name of BBS System
  152.        Location[51],              // Location of BBS System
  153.        SysopName[31],             // Sysop's Name
  154.  
  155.        // System Paths
  156.  
  157.        AccountDataPath[81],       // Path to Accounts.data
  158.        AccountInfoPath[81],       // Path to User Info Files
  159.        CatalogsPath[81],          // Path to Catalog files
  160.        ExtendedDescPath[81],      // Path to extended descriptions
  161.        LogsPath[81],              // path for Log & transcript
  162.        OptionalDirPath[81],       // Path to Optional Dir
  163.        SetupDirPath[81],          // Path to Master Setup Directory
  164.        SysopHoldPath[81],         // sysop hold dir
  165.        ResumeDirPath[81],         // send partial files to
  166.        DoorsPath[81],             // Door Path
  167.        ModulesPath[81],           // Modules Path
  168.        VoteBoothPath[81],         // Path to voting booth area
  169.  
  170.        // Passwords
  171.  
  172.        LocalAccessPassword[21],   // Password: Local Access (Sysop/Local Logins)
  173.        SysopCmdsPassword[21],     // Password: Sysop Commands
  174.        NewUserPassword[21],       // Password: New User's to apply
  175.        SystemEntryPassword[21],   // Password: Users to enter system
  176.  
  177.        // Scripts
  178.  
  179.        LocalShell[101],           // command to launch local cli
  180.        DropToShell[101],          // command to drop to dos.
  181.  
  182.        FontName[31],              // Font Name
  183.  
  184.        RemoteShellPassword[21],   // Password: Local Shell Access
  185.        LocalLogonPassword[21],    // Password: Local Logon Password
  186.  
  187.        ScriptsPath[81],           // Path to Tempest Scripts
  188.  
  189.        PresetD[16][26],           // Descriptions of Presets
  190.  
  191.        BadArchivesPath[81],       // Path where bad archives are stored!
  192.  
  193.        IconSize[21],              // 0 0 500 10  icon window
  194.  
  195.        CHAR_Extra[2359];
  196.  //________________________________________________________________________
  197.  
  198.  UBYTE LockViewMode,              // View mode to lock users into
  199.        Chat_H,                    // Chat Color for USER
  200.        Chat_M,                    // Chat Color for SYSOP
  201.        ULRewardP_Time,            // Percentage of time gained for uploads
  202.        MaxPages,                  // Maximum time user can page sysop per call
  203.        WindowToFront,             // window to front
  204.  
  205.        SystemFlags[120],
  206.  
  207.        ULRewardP_DLCredits,       // Download Credits for a day for uploads
  208.  
  209.        UBYTE_Extras[99];
  210.  //________________________________________________________________________
  211.  
  212.  WORD  NumberOfLines,            // Total Number of Nodes
  213.  
  214.        WORDExtras[40];
  215.  //________________________________________________________________________
  216.  
  217.  int   FontSize,                  // 8: Defualt
  218.        MaxUsers,                  // Maximim User's allowed on system
  219.  
  220.        INT_Extras[30];
  221.  //________________________________________________________________________
  222.  
  223.  long  LowFreeSpace,              // Low point for warning of low harddrive space
  224.        NoFreeSpace,               // Required harddrive space for uploads
  225.  
  226.        MaxSizeViewText,           // Max size of a file that can be viewed
  227.                                   // with online view text file command.
  228.  
  229.        SystemFlags1,              // System Flags (32 Flags) #1
  230.        SystemFlags2,              // System Flags (32 Flags) #2
  231.        SystemFlags3,              // System Flags (32 Flags) #3
  232.        SystemFlags4,              // System Flags (32 Flags) #4
  233.        SystemFlags5,              // System Flags (32 Flags) #5
  234.        SystemFlags6,              // System Flags (32 Flags) #6
  235.        SystemFlags7,              // System Flags (32 Flags) #7
  236.        SystemFlags8,              // System Flags (32 Flags) #8
  237.        SystemFlags9,              // System Flags (32 Flags) #9
  238.  
  239.        LONG_Extras[30];
  240. };
  241.  
  242. //*******************************
  243. //*******************************
  244. //*******************************
  245. //*****  Struct NodeData  ******* FiLE: NodeData-x.Data - (PER NODE SETTINGS!)
  246. //*******************************
  247. //*******************************
  248. //*******************************
  249.  
  250. struct NodeData
  251. {
  252.        // Node Paths
  253.  
  254.  TEXT  TempULWorkPath[81],        // Send file while uploading
  255.        TextDirPath[81],           // Path to Text Directory
  256.        DescribeDirPath[81],       // Path to Describe Directory
  257.  
  258.        IconSize[21],              // 0 0 500 10  icon window
  259.  
  260.        // Modem Information
  261.  
  262.        DeviceName[81],            // serial.device
  263.        Open[61],                  // Modem INIT string
  264.        Reset[31],                 // Hangup/reset string
  265.        Ring[31],                  // RING DETECTED string
  266.        Answer[31],                // What to do when a ring
  267.        Busy[31],                  // to make the modem off-hook
  268.        OnHook[21],                // to make modem on-hook
  269.        Escape[21],                // to get modems attention
  270.  
  271.        // Scripts
  272.  
  273.        NotUsed1[51],              // Not Used
  274.        NotUsed2[51],              // Not Used
  275.  
  276.        NodePassword[21],          // Password for this node!
  277.  
  278.        CHAR_Extra[2979];
  279.  //________________________________________________________________________
  280.  
  281.  UBYTE LocalMode,              // 0: Serial routines active  1:View Mode
  282.        Serial_Shared,          // 0: Normal,  1: Open in shared mode
  283.        Auto_Iconify,           // 0: open normal  1: open into icon
  284.        Hide_Node,              // 0: normal 1: hide screen completly
  285.  
  286.        DTR,                    // 1: dtr drop, 0 Nope use +++, but DTR only works on the internal serial prt
  287.        Wire_Mode,              // 0: 7 wire   1: 4 Wire mode
  288.        XON,                    // Xon/Xoff    0: off  1:on
  289.        RAD_BOG,                // Rad_boggie  0: off  1:on
  290.        BackGround,             // BBS screen to back ground
  291.        FORCE,                  // 0:Empty file 1:Raw Window
  292.        Parse,                  // 0:Parse 1:quick
  293.        FILEPROMPT,             // 0:3 command prompt  1:pick area
  294.        FLUSH,                  // 0: Normal  1:FLUSH SERIAL
  295.        FUNCTION, // DEAD!
  296.        TIMEOT,                 // 30(Defalut) for hangu[p on incomming call
  297.  
  298.        CallersLogStatus,
  299.        CaptureLogStatus,
  300.        DoorsLogStatus,
  301.        DebugLogStatus,
  302.        SysopLogStatus,
  303.  
  304.        Define[119],            // Define Flags
  305.  
  306.        NTSCPAL,                // 0= NTSC, 1=PAL
  307.        HIGHRES,                // Interlace Mode (1)
  308.        OVERSCAN,               // Full OverScan Mode (1)
  309.        HALFSCREEN,             // Half Screen Mode (1)
  310.  
  311.        Sleeplogoff,            // Time before sleep logoff - was Define[41]
  312.  
  313.        MsgLogStatus,
  314.        TransferLogStatus,
  315.  
  316.        CaptureFilter,          // Capture Filter On/Off
  317.  
  318.        MinAccessLevel,         // Minimum access level to logon to this node.
  319.  
  320.        LoadedLanguage,         // Current Loaded Lanugage
  321.  
  322.        BYTE_Extras[91];
  323.  //________________________________________________________________________
  324.  
  325.  WORD  CurrentNode,              // Current Node #
  326.  
  327.        WORDExtras[40];
  328.  //________________________________________________________________________
  329.  
  330.  int   SerialDeviceNumber,        // serial device unit #  (ULONG)
  331.        BitPlanes,                 // Bit Planes
  332.        BBSPriority,               // Normal Priority
  333.        FileTransferPriority,      // File Trasfer Priority
  334.        Fixed_Link,                // Fixed or Variable DTE Rate
  335.  
  336.        FrontEnd,                  // Front End Flag
  337.  
  338.        DoorsPriority,             // Doors Priority
  339.  
  340.        INT_Extras[28];
  341.  //________________________________________________________________________
  342.  
  343.  long  HighestBaudRate,           // Highest BAUD RATE / DTE Rate
  344.        MinBaudRate,               // Minimum Baud Rate
  345.  
  346.        NodeFlags1,                // Node Flags (32 Flags) #1
  347.        NodeFlags2,                // Node Flags (32 Flags) #2
  348.        NodeFlags3,                // Node Flags (32 Flags) #3
  349.        NodeFlags4,                // Node Flags (32 Flags) #4
  350.        NodeFlags5,                // Node Flags (32 Flags) #5
  351.        NodeFlags6,                // Node Flags (32 Flags) #6
  352.        NodeFlags7,                // Node Flags (32 Flags) #7
  353.        NodeFlags8,                // Node Flags (32 Flags) #8
  354.  
  355.        LONG_Extras[30];
  356. };
  357.  
  358. //******************************
  359. //******************************
  360. //******************************
  361. //*****  Struct File_Area  ***** FiLE: Files.data
  362. //******************************
  363. //******************************
  364. //******************************
  365.  
  366. struct File_Area
  367. {
  368.  TEXT     Name[31],       // Name of Area
  369.           What[41],       // Description of Area
  370.           Path[51],       // Path
  371.           Password[21],   // Password to enter.
  372.           EChar[50];
  373.  
  374.  BYTE     DelMonths,      // Deletion Months, 0 = Disabled.
  375.           ON,             // On/Off Switch
  376.           Sex,            // Sex Type Allowed (M,F,B)
  377.           EBYTE[20];
  378.  
  379.  UBYTE    AccessLevel,    // Minimum Access Level Required
  380.           Area,
  381.           MinAge,
  382.           MaxAge,
  383.           ULTimeReward,   // Upload Time Reward Percentage.
  384.           DLTimeReward,   // Download Time Reward Percentage.
  385.           DLBonusReward,  // Reward given to upload for every download of his UL's
  386.           FileIDDetection,// FileID Detection On/Off per area
  387.           FileIDCreation, // FileID Creation  On/Off per area
  388.           Allow,          // 0=All, 1=Upload only, 2=Download Only, 3=None
  389.           EUBYTE[17];
  390.  
  391.  WORD     RollOver,
  392.           WExtras[4];
  393.  int      Eint[4];
  394.  long     ELong[5];
  395.  
  396.  LONGBITS Flags,
  397.           Flags2;
  398. };
  399.  
  400. #define FA_FREEDL    0x00000002  // All files are free donwload?
  401.  
  402. //*****************************
  403. //*****************************
  404. //*****************************
  405. //*****  Struct Msg_Area  ***** FiLE: Messages.data
  406. //*****************************
  407. //*****************************
  408. //*****************************
  409.  
  410. struct Msg_Area
  411. {
  412.  TEXT     Name[31],       // Name of Area
  413.           What[41],       // Description of Area
  414.           Path[51],       // Path
  415.           Password[21],   // Password
  416.           EChar[50];
  417.  
  418.  BYTE     ON,             // On/Off Switch
  419.           Sex,            // Sex Type Allowed (M,F,B)
  420.           EBYTE[20];
  421.  
  422.  UBYTE    AccessLevel,    // Minimum Access Level Required
  423.           Area,           // Area Number
  424.           MinAge,         // Minimum Age to enter
  425.           MaxAge,         // Maximum Age allowed to enter
  426.           Allow,          // 0 = All, 1=Private Only, 2=Public Only, 3=Aynonoums Only
  427.           EUBYTE[19];
  428.  
  429.  WORD     RollOver,
  430.           WExtras[4];
  431.  
  432.  int      Eint[4];
  433.  long     ELong[5];
  434.  
  435.  LONGBITS Flags,
  436.           Flags2;
  437. };
  438.  
  439. #define MA_ALLOWANON   0x00000001  // Allow Anonymous Msgs
  440. #define MA_ALLOWULSEND 0x00000001  // Allow Msgs to be uploaded
  441.  
  442. //***********************
  443. //***********************
  444. //***********************
  445. //*****  Node_Info  *****  FiLE: NodeInfo_x
  446. //***********************
  447. //***********************
  448. //***********************  // Add a ton more extra pointers next upgrade.
  449.  
  450. struct node_info
  451. {
  452.  char *activity;        // Activity field of user's activity
  453.  char *chatbuffer;      // Buffer for Chat doors
  454.  char *chatmsgbuffer;   // Buffer for Msg's in chat doors
  455.  char *charextra3;
  456.  
  457. // char *Cextra1; char *Cextra2; char *Cextra3; char *Cextra4; char *Cextra5;
  458. // char *Cextra6; char *Cextra7; char *Cextra8; char *Cextra9; char *Cextra10;
  459.  
  460.  BYTE *AN;              // Activity Number of user's activity
  461.  BYTE *hide;            // Hide from Who Door
  462.  BYTE *aborttransfer;   // Abort user's transfer
  463.  BYTE *kickuser;        // Kick user offline
  464.  
  465. // BYTE *Bextra1; BYTE *Bextra2; BYTE *Bextra3; BYTE *Bextra4; BYTE *Bextra5;
  466. // BYTE *Bextra6; BYTE *Bextra7; BYTE *Bextra8; BYTE *Bextra9; BYTE *Bextra10;
  467.  
  468. // short *SExtra1; short *SExtra2; short *SExtra3; short *SExtra4; short *SExtra5;
  469. // short *SExtra6; short *SExtra7; short *SExtra8; short *SExtra9; short *SExtra10;
  470.  
  471.  int  *mode;
  472.  int  *baudrate;        // Buad Rate of user online
  473.  int  *shutdown;        // ShutDown Flag 0=No , 1=Yes.
  474.  int  *chatroom;        // Chat room Number
  475.  int  *frontend;        // Front End On/Off (0=off) (1=on)
  476.  int  *frontendstatus;  // Front End Status (0=Normal) (1=Sleep)
  477.  
  478.  long *cps;             // CPS Rate of user online doing transfer
  479.  long *fileshouldbe;
  480.  long *timelimit;
  481.  long *longextra3;
  482.  
  483.  struct User *UserInfo;
  484.  struct SystemData *SystemDataInfo;
  485.  struct NodeData *NodeDataInfo;
  486.  struct Today *TodayInfo;
  487.  struct Iconify *IconInfo;
  488.  struct Editor *EdInfo;
  489.  
  490.  struct Screen *screen1Info;
  491.  struct Window *windowInfo, *StatusPaneInfo, *iconInfo, *abortwindowInfo;
  492.  
  493.  struct IOExtSer *WriteSerReqInfo, *ReadSerReqInfo;
  494.  struct IOStdReq *WriteConReqInfo, *ReadConReqInfo;
  495.  struct IOStdReq *StatWriteReqInfo;
  496.  
  497.  struct MsgPort *WriteSerPortInfo, *ReadSerPortInfo, *TimerPortInfo;
  498.  struct MsgPort *WriteConPortInfo, *ReadConPortInfo;
  499.  struct MsgPort *StatWritePortInfo;
  500.  
  501.  struct timerequest *TimerMsgInfo;
  502.  struct Msg_Area *MSGInfo;
  503.  struct File_Area *FILESInfo;
  504.  struct RATES *RATESInfo;
  505.  struct R_SLOTS *R_SLOTSInfo;
  506.  struct Questions *QuestionsInfo;
  507. struct Runtimeinfo *RI;
  508. };
  509.  
  510. //****************************
  511. //*****  Struct Letters  ***** FiLE:
  512. //****************************
  513.  
  514. struct Letters
  515. {
  516.  TEXT  Receiver [31],
  517.        Sender   [31],
  518.        Subject  [31],
  519.        Password [9];
  520.  
  521.  long  Sent,
  522.        Rcvd;
  523.  
  524.  int   Number,         /*  the number of the actuall message    */
  525.        MsgArea,        /*  what area the message was written in */
  526.        Delete,         /*  Delete  0:OK  1:DELETED              */
  527.        Reply,          /*  This message was replied from        */
  528.        Ano,            /*  0: normal 1:Quit Sender              */
  529.        Read,           /*  Times the message has been read      */
  530.        Status,         //  0=Private 1=Public 2=Password 3=Priority
  531.                        //  4=Fowarded Mail
  532.        ForceReply,     /*  0: na   1: get a reply               */
  533.        Locked;         /*  0: na kill it if needed  1:Keep it   */
  534. };
  535.  
  536. //**************************
  537. //*****  Today Struct  *****  FiLE: Runtime.data
  538. //**************************
  539.  
  540. struct Today
  541. {
  542.  TEXT   NMName[35],       // Name who sent message to next caller
  543.         extra[40];
  544.  
  545.  UWORD  CBAUD[20], // 300,1200,2400,4800,7200,9600,12000,14400,16800,19200,28800
  546.         AbortedDl,
  547.         AbortedUl,
  548.         UpRes,
  549.         DLRes,
  550.         Users,
  551.         Uploads,
  552.         Downloads,
  553.         Feedback,
  554.         New,
  555.         Messages,
  556.         F_Sysop;
  557.  
  558.  int    Calls,
  559.         NMAno,
  560.         BBSNumbers,
  561.         Busy,
  562.         extra2,
  563.         extra3,
  564.         Total;
  565.  
  566.  long   dl_bytes,
  567.         ul_bytes,
  568.         NMDate,
  569.         TODAY,
  570.         L_ext1,
  571.         L_ext2,
  572.         connected;
  573.  
  574.  TEXT   Last[31];            // Last Caller on BBS
  575.  
  576.  UWORD  CurrentUser;
  577.  
  578.  TEXT   Reserved[31];       // Reserved Caller
  579.  
  580.  TEXT   ExtraNotUsed[164];
  581. };
  582.  
  583. //*******************
  584. //*****  Rates  *****  FiLE: Baud-x.data (x=Node)
  585. //*******************
  586.  
  587. struct RATES
  588. {
  589.  int NewBaud,
  590.      UPLOAD[25],
  591.      DOWNLOAD[25],
  592.      HOUR[25];
  593. };
  594.  
  595. //****************************
  596. //*****  Presets Struct  *****  FiLE: Presets.Data
  597. //****************************
  598.  
  599. struct Defaults
  600. {
  601.  char     MB[41],
  602.           FB[41];
  603.  
  604.  UBYTE    Security,
  605.           F_Ratio,
  606.           B_Ratio,
  607.           IdleTime,
  608.           ViewMode;
  609.  
  610.  UWORD    DayCredits,
  611.           FileCredits,
  612.           WeedDays,
  613.           ReduceDays,
  614.           ReducedAccess;
  615.  
  616.  UWORD    Limit_Calls,
  617.           Limit_Posts,
  618.           Limit_ULFiles,
  619.           Limit_DLFiles,
  620.           Limit_Time,
  621.           Limit_TimeBank,
  622.           Limit_ChatTime;
  623.  ULONG    Limit_ULBytes,
  624.           Limit_DLBytes;
  625.  
  626.  UWORD    Total_ULFiles,
  627.           Total_DLFiles;
  628.  ULONG    Total_ULBytes,
  629.           Total_DLBytes,
  630.           ByteCredits,
  631.           PersonalBytes;
  632.  
  633.  LONGBITS NFlags1,
  634.           NFlags2,
  635.           SFlags1,
  636.           SFlags2,
  637.           CatFlags;
  638.  
  639.  char     CExtra[110];
  640.  UBYTE    UBExtra[50];
  641.  UWORD    UWExtra[25];
  642.  ULONG    ULExtra[12];
  643. };
  644.  
  645. //*******************************
  646. //*****  Flag Files Struct  *****
  647. //*******************************
  648.  
  649. struct FLAG
  650. {
  651.  TEXT  FileName[13];
  652.  BYTE  Area;
  653.  int   Number;
  654.  ULONG Bytes;
  655.  BYTE  COST;               // 0=Normal , 1=Free
  656.  BYTE  EBYTES[8];
  657. };
  658.  
  659. //****************************
  660. //*****  Catalog Struct  *****  FiLE: Catalog.x
  661. //****************************
  662.  
  663. struct Catalogs
  664. {
  665.  TEXT     FileName[13],
  666.           Password[4],
  667.  
  668.           DateU[9],
  669.           LastDateD[9],
  670.  
  671.           Uploader[31],
  672.           Receiver[31]; // Only Used in F-Mail - Area 0.. Have 2 structs
  673.  
  674.  BYTE     Security; // 1 = Public, -1 = Sysop, -2 = UnVal, -3 = BadArchive
  675.  
  676.  UBYTE    Access;
  677.                   //  0x01  0x02   0x04   0x08  0x10   0x20    0x40  0x80
  678.  BYTEBITS Flags;  // Active,Free,ExtDesc,DLock,ELock,HDOnline,ArcTest- 8 Togglable Bits
  679.  
  680.  ULONG    Bytes;  // Filesize
  681.  
  682.  TEXT     Line[12][45];
  683. };
  684.  
  685. struct UP_G
  686. {
  687.  TEXT     FileName[13],
  688.           Password[4],
  689.  
  690.           DateU[9],
  691.           LastDateD[9],
  692.  
  693.           Uploader[31],
  694.           Receiver[31]; // Only Used in F-Mail - Area 0.. Have 2 structs
  695.  
  696.  BYTE     Security;
  697.  
  698.  UBYTE    Access,
  699.           Area;
  700.                   //  0x01  0x02  0x04
  701.  BYTEBITS Flags;  // Active,Free,ExtDesc; --- 8 Togglable Bits
  702.  
  703.  ULONG    Bytes;
  704.  
  705.  TEXT     Line[12][45];
  706. };
  707.  
  708. struct STACK
  709. {
  710.  char Command[40];
  711. };
  712.  
  713. struct Indx
  714. {
  715.  int Active,
  716.      FirstMsgNumber,
  717.      LastMsgNumber,
  718.      LastMsgSlot;
  719. };
  720.  
  721.  
  722. struct R_SLOTS
  723. {
  724.  int T_0,
  725.      T_15,
  726.      T_30,
  727.      T_45;
  728. };
  729.  
  730.  
  731. // 'Questions.data'
  732. struct Questions
  733. {
  734.  char ASK [15] [60];
  735.  int  ResponseLines[15];
  736. };
  737.  
  738. // the 'Keys.data' file
  739. struct F_KEYS
  740. {
  741.  int Online[21],
  742.      Offline[21];
  743. };
  744.  
  745. // Internal BBS USE ONLY
  746. struct Editor
  747. {
  748.  int  Sec,
  749.       Opt,                    // Optional Flag #, user must have access to.
  750.       OptType,                // Normal or Sysop Flags
  751.       Msg,
  752.       File,
  753.       Cur;
  754.  char Typed[200],
  755.       Command[256],
  756.       Execute[256];
  757. };
  758.  
  759. // Internal BBS USE ONLY
  760. struct Iconify
  761. {
  762.  BYTE  Iconfied,          // 0:nope 1:yep
  763.        Chat;              // 0: nope  1:tried to chat
  764.  
  765.  ULONG Baud;              // speed of user
  766.  
  767.  TEXT  Name[35],          // the user online
  768.        Node_Number[3],    // the node/port #
  769.        Last_Area[20],     // current area of BBS
  770.        Last_Command[30],  // Last Command Entered
  771.        Last_TextFile[35]; // last txt file
  772. };
  773.  
  774.  
  775. /*
  776.   Filename sent for the external protocol to pick up.
  777.    T:ProtoConfig_#  <- the # indicates the node number
  778.  
  779. CLI CALL >  Zmodem 1
  780.  
  781. this tells the proto driver zmodem to load the stats for the config
  782. for node #1.
  783. */
  784.  
  785. struct protostats
  786. {
  787.  TEXT  Config[50],        /* The commands of the driver */
  788.        UploadArea[255],    /* the Work Area              */
  789.        LogPath[255],
  790.        SerialDevice[50],
  791.        KnownFileName[50],
  792.        OptionPath[255],         /* to get the .opt files */
  793.        BBSPATH[255],
  794.        ex_strings[5][255];
  795.  
  796.  int   Mode,              /* 0: Dl, 1:ul                */
  797.        Iconify,           /* Icon.. 0:no  1:yes         */
  798.        Priority,
  799.        UnitNumber,        /* the serial unit #          */
  800.        ex_ints[10];
  801.  
  802.  ULONG User_Speed,        /* The baud rate for the user online's info */
  803.        FreeSpace,         /* space need to be free on drive           */
  804.        ex_ulongs[10];
  805. };
  806.  
  807. /* the struct to tell the protocol what files are to be downloaded */
  808.  
  809. struct Down_Load
  810. {
  811.  TEXT File[255],
  812.       FileName[13],
  813.       ex_string[187];
  814.  int  Area,
  815.       Cost,
  816.       FileNumber,
  817.       ex_ints[9];
  818.  long Bytes,
  819.       ex_longs[10];
  820. };
  821.  
  822. /* the protocol, fills in these stats about each file downloaded so the bbs
  823.    knows what happened, and how to charge the user for the downloads
  824. */
  825.  
  826. struct DownLoad_Status
  827. {
  828.  TEXT  File[255],
  829.        ex_strings[5][255];
  830.  
  831.  int   Cost,                        // 1: Free dl,  0: charge normal
  832.        Area,
  833.        Good,
  834.        Errors,
  835.        Mins,
  836.        Secs,
  837.        FileNumber,
  838.        ex_ints[7];
  839.  
  840.  long  First_Byte_Sent,
  841.        Last_Byte_Sent,
  842.        Bytes_To_Charge,
  843.        Files_To_Charge,
  844.        CPS,
  845.        FileSize,
  846.        Seconds,
  847.        ex_longs[9];
  848. };
  849.  
  850.  
  851. struct Name  // Accounts Index File
  852. {
  853.  char Username[31];
  854. };
  855.  
  856. struct msgpassing
  857. {
  858.  int  REPLYNUMBER,
  859.       TYPE,
  860.       STATUS,
  861.       AREA;
  862.  char RECEIVER[31],
  863.       SUBJECT[31];
  864. };
  865.  
  866. struct prom
  867. {
  868.  TEXT prompts[35][255];
  869. };
  870.  
  871. struct passe
  872. {
  873.  int  val1,val2,val3,val4,val5;
  874.  char te[20],te1[20];
  875.  long vt[15];
  876.  char str[10][80];
  877. };
  878.  
  879. struct UploadXPR
  880. {
  881.  TEXT Name[40],
  882.       Lib[40],
  883.       Config[40],
  884.       Unknown[10],
  885.       BBSMODE[10];
  886. };
  887.  
  888. struct DownloadXPR
  889. {
  890.  TEXT Name[40],
  891.       Lib[40],
  892.       Config[40],
  893.       Unknown[10],
  894.       BBSMODE[10];
  895. };
  896.  
  897.  struct L
  898.   {
  899.    char  LINE[185];
  900.   };
  901.  
  902.  struct LL
  903.   {
  904.    char  LINE[50];
  905.   };
  906.  
  907.  struct g
  908.   {
  909.    ULONG number;
  910.    TEXT com[16][255];
  911.   };
  912.  
  913. struct TempMessage
  914. {
  915.  struct Message Msg;
  916.  int Command;
  917.  int Node;
  918.  int Data;
  919.  
  920.  struct User *UserInfo;
  921.  struct NodeData *NodeDataInfo;
  922.  struct Today *TodayInfo;
  923. };
  924.